/*
 * Juego.h
 *
 *  Created on: Feb 15, 2010
 *      Author: jgrande
 */

#ifndef JUEGO_H_
#define JUEGO_H_

#include "Jugador.h"
#include "Universo.h"

#include "../Common/JuegoDTO.h"

#include "../../../Middleware/Common/IdJuego.h"
#include "../../../Middleware/Common/IdUniverso.h"
#include "../../../Middleware/Common/IdJugador.h"

#include "../../../Framework/IO/log.h"

namespace aplicacion {
namespace jugador {

class Juego {

	JuegoDTO dto;

	Universo universo;

public:

	Juego() {};

	Juego(const JuegoDTO& dto):
		dto(dto),
		universo(dto.idUniverso) {
	};

	const JuegoDTO& getDTO() const { return dto; }

	IdJuego getIdJuego() const { return dto.idJuego; }

	IdUniverso getIdUniverso() const { return dto.idUniverso; }

	IdJugador getIdCreador() const { return dto.idCreador; }

	const std::string& getTitulo() const { return dto.titulo; }

	bool entrar(Jugador& jugador);

	Universo& getUniverso() { return universo; }

};

} // namespace jugador
} // namespace aplicacion

#endif /* JUEGO_H_ */
